DATATYPEDIR=DataTypes/
MATHFUNCDIR=MathFunctions/
SURFFUNCDIR=SurfaceFunctions/
TEXFUNCDIR=TextureFunctions/
MDIR=3D-Modelle/
KAMERADIR=Kamera/
ROTKOERPER=RotationsKoerper/
BAUMDIR=Baum/
WATERDIR=Water/
SKYDIR=Skybox/
GLOBALVARS=GlobalVars/
TIMEDIR=Timer/
BIN=../hannoverport/


OBJ= mathfunctions.o surfacefunctions.o texturefunctions.o kamera.o rotkoerper.o baum.o water.o vars.o Boden.o vbo.o FassBlau1.o FassBlau.o container.o kran-01-schiene.o Timer.o cargo_schiff.o steg.o segelboot.o faesser.o palette.o kran-02-rad.o kran-03-radkappe.o kran-04-mittelteil.o kran-05-oberteil.o kran-06-stopper.o kran-07-hebearm.o kran-08-scheinwerfer.o seil.o kran_komplett.o flutlicht.o nad_hallekomplett.o nad_halle.o nad_haufsatz.o nad_hbox.o nad_hlampe.o nad_hlsr.o nad_hplatte.o nad_hregal.o nad_htor.o nad_htreppe.o nad_raum.o nad_hboxs.o nad_hflasche.o nad_hpalette.o nad_hgasflasche.o nad_hnagel.o nad_hnagel2.o nad_hnagel3.o nad_hnagel4.o skybox.o main.o

CPP= g++
LIBS= -lglut -lGL -lGLU
CPPOPT= -O3

$(BIN): $(OBJ)
	$(CPP) $(OBJ) -o "HANNOVERPORT" $(LIBS)
mathfunctions.o: $(MATHFUNCDIR)mathfunctions.cpp $(MATHFUNCDIR)mathfunctions.h $(DATATYPEDIR)datatypes.h
	$(CPP) $(CPPOPT) -c $(MATHFUNCDIR)mathfunctions.cpp -o mathfunctions.o
surfacefunctions.o: $(SURFFUNCDIR)surfacefunctions.cpp $(SURFFUNCDIR)surfacefunctions.h $(DATATYPEDIR)datatypes.h
	$(CPP) -c $(SURFFUNCDIR)surfacefunctions.cpp -o surfacefunctions.o
texturefunctions.o: $(TEXFUNCDIR)texturefunctions.cpp $(TEXFUNCDIR)texturefunctions.h $(DATATYPEDIR)datatypes.h
	$(CPP) -c $(TEXFUNCDIR)texturefunctions.cpp -o texturefunctions.o
kamera.o: $(KAMERADIR)kamera.cpp $(KAMERADIR)kamera.h
	$(CPP) -c $(KAMERADIR)kamera.cpp -o kamera.o
rotkoerper.o: $(ROTKOERPER)rotkoerper.cpp $(ROTKOERPER)rotkoerper.h $(DATATYPEDIR)datatypes.h
	$(CPP) -c $(ROTKOERPER)rotkoerper.cpp -o rotkoerper.o
baum.o: $(BAUMDIR)baum.cpp $(BAUMDIR)baum.h
	$(CPP) -c $(BAUMDIR)baum.cpp -o baum.o
water.o: $(WATERDIR)water.cpp $(WATERDIR)water.h mathfunctions.o surfacefunctions.o 
	$(CPP) -c $(WATERDIR)water.cpp -o water.o
vars.o: $(GLOBALVARS)vars.cpp $(GLOBALVARS)vars.h texturefunctions.o
	$(CPP) -c $(GLOBALVARS)vars.cpp -o vars.o
Boden.o: $(MDIR)Boden.cpp $(MDIR)Boden.h 
	$(CPP) -c $(MDIR)Boden.cpp -o Boden.o
vbo.o: $(MDIR)vbo.cpp $(MDIR)vbo.h
	$(CPP) -c $(MDIR)vbo.cpp -o vbo.o
FassBlau1.o: $(MDIR)FassBlau1.cpp $(MDIR)FassBlau1.h 
	$(CPP) -c $(MDIR)FassBlau1.cpp -o FassBlau1.o
FassBlau.o: $(MDIR)FassBlau.cpp $(MDIR)FassBlau.h 
	$(CPP) -c $(MDIR)FassBlau.cpp -o FassBlau.o
faesser.o: $(MDIR)faesser.cpp $(MDIR)faesser.h 
	$(CPP) -c $(MDIR)faesser.cpp  -o faesser.o
cargo_schiff.o: $(MDIR)cargo_schiff.cpp $(MDIR)cargo_schiff.h
	$(CPP) -c $(MDIR)cargo_schiff.cpp -o cargo_schiff.o
segelboot.o: $(MDIR)segelboot.cpp $(MDIR)segelboot.h
	$(CPP) -c $(MDIR)segelboot.cpp -o segelboot.o 
container.o: $(MDIR)container.cpp $(MDIR)container.h
	$(CPP) -c $(MDIR)container.cpp -o container.o
steg.o: $(MDIR)steg.cpp $(MDIR)steg.h
	$(CPP) -c $(MDIR)steg.cpp -o steg.o
palette.o: $(MDIR)palette.cpp $(MDIR)palette.h
	$(CPP) -c $(MDIR)palette.cpp -o palette.o
skybox.o: $(SKYDIR)skybox.cpp $(SKYDIR)skybox.h
	$(CPP) -c $(SKYDIR)skybox.cpp $(SKYDIR)skybox.h
kran-01-schiene.o: $(MDIR)kran-01-schiene.cpp $(MDIR)kran-01-schiene.h
	$(CPP) -c $(MDIR)kran-01-schiene.cpp -o kran-01-schiene.o
kran-02-rad.o: $(MDIR)kran-02-rad.cpp $(MDIR)kran-02-rad.h
	$(CPP) -c $(MDIR)kran-02-rad.cpp -o kran-02-rad.o
kran-03-radkappe.o: $(MDIR)kran-03-radkappe.cpp $(MDIR)kran-03-radkappe.h
	$(CPP) -c $(MDIR)kran-03-radkappe.cpp -o kran-03-radkappe.o
kran-04-mittelteil.o: $(MDIR)kran-04-mittelteil.cpp $(MDIR)kran-04-mittelteil.h
	$(CPP) -c $(MDIR)kran-04-mittelteil.cpp -o kran-04-mittelteil.o
kran-05-oberteil.o: $(MDIR)kran-05-oberteil.cpp $(MDIR)kran-05-oberteil.h
	$(CPP) -c $(MDIR)kran-05-oberteil.cpp -o kran-05-oberteil.o
kran-06-stopper.o: $(MDIR)kran-06-stopper.cpp $(MDIR)kran-06-stopper.h
	$(CPP) -c $(MDIR)kran-06-stopper.cpp -o kran-06-stopper.o
kran-07-hebearm.o: $(MDIR)kran-07-hebearm.cpp $(MDIR)kran-07-hebearm.h
	$(CPP) -c $(MDIR)kran-07-hebearm.cpp -o kran-07-hebearm.o
kran-08-scheinwerfer.o: $(MDIR)kran-08-scheinwerfer.cpp $(MDIR)kran-08-scheinwerfer.h
	$(CPP) -c $(MDIR)kran-08-scheinwerfer.cpp -o kran-08-scheinwerfer.o
seil.o: $(MDIR)seil.cpp $(MDIR)seil.h
	$(CPP) -c $(MDIR)seil.cpp -o seil.o
kran_komplett.o: $(MDIR)kran_komplett.cpp $(MDIR)kran_komplett.h $(MDIR)container.cpp
	$(CPP) -c $(MDIR)kran_komplett.cpp -o kran_komplett.o
flutlicht.o: $(MDIR)flutlicht.cpp $(MDIR)flutlicht.h
	$(CPP) -c $(MDIR)flutlicht.cpp -o flutlicht.o
nad_hallekomplett.o: $(MDIR)nad_hallekomplett.cpp $(MDIR)nad_hallekomplett.h
	$(CPP) -c $(MDIR)nad_hallekomplett.cpp -o nad_hallekomplett.o
nad_halle.o: $(MDIR)nad_halle.cpp $(MDIR)nad_halle.h
	$(CPP) -c $(MDIR)nad_halle.cpp -o nad_halle.o
nad_haufsatz.o: $(MDIR)nad_haufsatz.cpp $(MDIR)nad_haufsatz.h
	$(CPP) -c $(MDIR)nad_haufsatz.cpp -o nad_haufsatz.o
nad_hbox.o: $(MDIR)nad_hbox.cpp $(MDIR)nad_hbox.h
	$(CPP) -c $(MDIR)nad_hbox.cpp -o nad_hbox.o
nad_hlampe.o: $(MDIR)nad_hlampe.cpp $(MDIR)nad_hlampe.h
	$(CPP) -c $(MDIR)nad_hlampe.cpp -o nad_hlampe.o
nad_hlsr.o: $(MDIR)nad_hlsr.cpp $(MDIR)nad_hlsr.h
	$(CPP) -c $(MDIR)nad_hlsr.cpp -o nad_hlsr.o
nad_hplatte.o: $(MDIR)nad_hplatte.cpp $(MDIR)nad_hplatte.h
	$(CPP) -c $(MDIR)nad_hplatte.cpp -o nad_hplatte.o
nad_hregal.o: $(MDIR)nad_hregal.cpp $(MDIR)nad_hregal.h
	$(CPP) -c $(MDIR)nad_hregal.cpp -o nad_hregal.o
nad_htor.o: $(MDIR)nad_htor.cpp $(MDIR)nad_htor.h
	$(CPP) -c $(MDIR)nad_htor.cpp -o nad_htor.o
nad_htreppe.o: $(MDIR)nad_htreppe.cpp $(MDIR)nad_htreppe.h
	$(CPP) -c $(MDIR)nad_htreppe.cpp -o nad_htreppe.o
nad_raum.o: $(MDIR)nad_raum.cpp $(MDIR)nad_raum.h
	$(CPP) -c $(MDIR)nad_raum.cpp -o nad_raum.o
nad_hboxs.o: $(MDIR)nad_hboxs.cpp $(MDIR)nad_hboxs.h
	$(CPP) -c $(MDIR)nad_hboxs.cpp -o nad_hboxs.o
nad_hgasflasche.o: $(MDIR)nad_hgasflasche.cpp $(MDIR)nad_hgasflasche.h
	$(CPP) -c $(MDIR)nad_hgasflasche.cpp -o nad_hgasflasche.o
nad_hpalette.o: $(MDIR)nad_hpalette.cpp $(MDIR)nad_hpalette.h
	$(CPP) -c $(MDIR)nad_hpalette.cpp -o nad_hpalette.o
nad_hnagel.o: $(MDIR)nad_hnagel.cpp $(MDIR)nad_hnagel.h
	$(CPP) -c $(MDIR)nad_hnagel.cpp -o nad_hnagel.o
nad_hnagel2.o: $(MDIR)nad_hnagel2.cpp $(MDIR)nad_hnagel2.h
	$(CPP) -c $(MDIR)nad_hnagel2.cpp -o nad_hnagel2.o
nad_hnagel3.o: $(MDIR)nad_hnagel3.cpp $(MDIR)nad_hnagel3.h
	$(CPP) -c $(MDIR)nad_hnagel3.cpp -o nad_hnagel3.o
nad_hnagel4.o: $(MDIR)nad_hnagel4.cpp $(MDIR)nad_hnagel4.h
	$(CPP) -c $(MDIR)nad_hnagel4.cpp -o nad_hnagel4.o

Timer.o: $(TIMEDIR)Timer.cpp $(TIMEDIR)Timer.h
	$(CPP) -c $(TIMEDIR)Timer.cpp -o Timer.o 


main.o: main.cpp main.h
	$(CPP) -c main.cpp -o main.o 

